package cn.qzzg.pojo;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 试管信息表
 *
 * @TableName test_tube
 */
@TableName(value = "test_tube")
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class TestTube implements Serializable {
    /**
     * 试管ID
     */
    @TableId(value = "test_tube_id")
    private String testTubeId;

    /**
     * 采集模式
     */
    @TableField(value = "acquisition_mode")
    private Integer acquisitionMode;

    /**
     * 检测机构
     */
    @TableField(value = "testing_organization_id")
    private Integer testingOrganizationId;

    /**
     * 锅次
     */
    @TableField(value = "pot_time_id",updateStrategy = FieldStrategy.IGNORED)
    private Integer potTimeId;

    /**
     * 锅次位置
     */
    @TableField(value = "pot_time_address",updateStrategy = FieldStrategy.IGNORED)
    private Integer potTimeAddress;

    /**
     * 转运箱ID
     */
    @TableField(value = "transfer_box_id")
    private String transferBoxId;

    /**
     * 送检单位
     */
    @TableField(value = "Inspection_unit_id")
    private String inspectionUnitId;

    /**
     * N基因（保留两位小数，>35则核酸为阴性）
     */
    @TableField(value = "n_gene")
    @JsonProperty(value = "nGene")
    private String nGene;

    /**
     * O基因（保留两位小数，>35则核酸为阴性）
     */
    @TableField(value = "o_gene")
    @JsonProperty(value = "oGene")
    private String oGene;

    /**
     * 检测结果
     */
    @TableField(value = "test_results")
    private Integer testResults;

    /**
     * 采样人员
     */
    @TableField(value = "sampling_personnel")
    private String samplingPersonnel;

    /**
     * 接收人员
     */
    @TableField(value = "receiving_personnel")
    private String receivingPersonnel;

    /**
     * 检测人员
     */
    @TableField(value = "testing_personnel")
    private String testingPersonnel;

    /**
     * 开管时间
     */
    @TableField(value = "opening_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date openingTime;

    /**
     * 封管时间
     */
    @TableField(value = "closing_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date closingTime;

    /**
     * 接收时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 状态
     */
    @TableField(value = "status", fill = FieldFill.INSERT)
    private Integer status;

    /**
     * 状态
     */
    @TableField(value = "tube_status")
    private Integer tubeStatus;
    /**
     * 复查锅次
     */
    @TableField(value = "new_pot_time_id",updateStrategy = FieldStrategy.IGNORED)
    private Integer newPotTimeId;/**
     * 复查锅次位置
     */
    @TableField(value = "new_pot_time_address",updateStrategy = FieldStrategy.IGNORED)
    private Integer newPotTimeAddress;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;


    /**
     * 复查类型
     */
    @TableField(exist = false)
    private Integer reviewType;

    /**
     * 试剂类型
     */
    @TableField(exist = false)
    private Integer reagentType;

    @TableField(exist = false)
    private Integer potStatus;
}